package com.mindmax.user.service.impl;

import java.util.List;

import com.mindmax.user.domain.YtUserRole;
import com.mindmax.user.mapper.YtUserRoleMapper;
import com.mindmax.user.service.IYtUserRoleService;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 用户角色管理Service业务层处理
 *
 * @author ruoyi
 * @date 2024-07-15
 */
@Service
public class YtUserRoleServiceImpl implements IYtUserRoleService
{
    @Autowired
    private YtUserRoleMapper ytUserRoleMapper;

    /**
     * 查询用户角色管理
     *
     * @param id 用户角色管理主键
     * @return 用户角色管理
     */
    @Override
    public YtUserRole selectYtUserRoleById(Long id)
    {
        return ytUserRoleMapper.selectYtUserRoleById(id);
    }

    /**
     * 查询用户角色管理列表
     *
     * @param ytUserRole 用户角色管理
     * @return 用户角色管理
     */
    @Override
    public List<YtUserRole> selectYtUserRoleList(YtUserRole ytUserRole)
    {
        return ytUserRoleMapper.selectYtUserRoleList(ytUserRole);
    }

    /**
     * 新增用户角色管理
     *
     * @param ytUserRole 用户角色管理
     * @return 结果
     */
    @Override
    public int insertYtUserRole(YtUserRole ytUserRole)
    {
        ytUserRole.setCreateTime(DateUtils.getNowDate());
        return ytUserRoleMapper.insertYtUserRole(ytUserRole);
    }

    /**
     * 修改用户角色管理
     *
     * @param ytUserRole 用户角色管理
     * @return 结果
     */
    @Override
    public int updateYtUserRole(YtUserRole ytUserRole)
    {
        return ytUserRoleMapper.updateYtUserRole(ytUserRole);
    }

    /**
     * 批量删除用户角色管理
     *
     * @param ids 需要删除的用户角色管理主键
     * @return 结果
     */
    @Override
    public int deleteYtUserRoleByIds(Long[] ids)
    {
        return ytUserRoleMapper.deleteYtUserRoleByIds(ids);
    }

    /**
     * 删除用户角色管理信息
     *
     * @param id 用户角色管理主键
     * @return 结果
     */
    @Override
    public int deleteYtUserRoleById(Long id)
    {
        return ytUserRoleMapper.deleteYtUserRoleById(id);
    }

    @Override
    public void updateYtUserRoleUnSetAdmin(Long tenantId) {
        ytUserRoleMapper.updateYtUserRoleUnSetAdmin(tenantId);
    }

    @Override
    public void deleteYtUserRoleByTenantIdAndRoleId(Long tenantId, Long roleId) {
        ytUserRoleMapper.deleteYtUserRoleByTenantIdAndRoleId(tenantId, roleId);
    }

    @Override
    public List<YtUserRole> selectByTenantIdAndRoleId(Long tenantId, Long roleId) {
      return  ytUserRoleMapper.selectByTenantIdAndRoleId(tenantId, roleId);
    }
}
